package com.shujia.day13;

public class Demo07Runnable {

    public static void main(String[] args) {
        /*
            TODO
                构建线程方式2: 通过实现  Runnable 接口并重写其run方法
                    该方式构建线程时,可以共用同一个Runnable接口的子实现类对象,这样就可以使用同一个对象中的变量
               好处:
                    可以避免由于Java单继承带来的局限性。
                    适合多个相同程序的代码去处理同一个资源的情况，把线程同程序的代码，数据有效分离，
                        较好的体现了面向对象的设计思想

         */
        MyRunnableThread myRunnableThread = new MyRunnableThread();
        new Thread(myRunnableThread,"线程1").start();
        new Thread(myRunnableThread,"线程2").start();
    }

    static class MyRunnableThread implements Runnable{
        int allNum = 100;
        @Override
        public void run() {
            while (true){
                if (allNum <=0){
                    break;
                }else {
                    allNum -= 1;
                    System.out.println("当前线程:"+Thread.currentThread().getName()+"allNum:"+allNum);
                }

            }
        }
    }
}
